﻿using FileSystem.impl;
using FileSystem.Impl;
/*********************************************************************
 *
 *                             NOTICE
 *               COPYRIGHT (c) 2012 Panoscopix Software, Inc.
 *                UNPUBLISHED - ALL RIGHTS RESERVED
 * 
 *      This program is confidential, proprietary, and a trade
 *   secret of Panoscopix Software, Inc. The receipt or possession of
 *     this program does not convey any rights to reproduce or
 *      disclose its contents, or to manufacture, use, or sell
 *       anything that it may describe, in whole or in part, 
 *   without the specific written consent of Panoscopix Software, Inc.
 *
 * The FileSystem.
 * 
 *******************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FileSystem
{
    interface IFSFileSystem
    {
        /// <summary>
        /// Returns the root of the file system.
        /// </summary>
        IFSDirectory getRoot();

        /// <summary>
        /// Gets the current directory.
        /// </summary>
        IFSDirectory CurrentDirectory
        {
            get;
            set;
        }

        /// <summary>
        /// Returns the next node id (globally unique).
        /// </summary>
        String getNextNodeId();

        /// <summary>
        /// Returns meta data for an empty node of the supplied name.
        /// </summary>
        INodeMetaDataVO getMetaDataForEmptyNode(String name);

        List<Result> AsyncResults
        {
            get;
        }
        IDictionary<string, IMacroDefintion> MacroDefintion
        {
            get;
        }
        string ActiveMacroName
        {
            get;
            set;
        }

    }
}
